昨天,A、B、C、D 四份草稿一次寫好、存起來了。
但那只是 AI 寫的初稿。在發布之前,我要親自讀過、改過。
問題是:我要在哪裡改?改完之後,又要怎麼安全地回到 Macaron 裡?
我平常寫東西、整理筆記,都在一個叫 Obsidian 的筆記軟體裡。它存的是最普通的文字檔,打開就能讀、就能改。
所以很自然地,我希望 Macaron 的草稿,也能在 Obsidian 裡打開、在 Obsidian 裡改。
但這裡有一個很重要的分別:看得懂的檔案,不等於可以直接當成正式紀錄。
我把 Obsidian 當成我的編輯桌。桌上的稿子可以塗改、可以改到一半先放著。但正式的歷史紀錄——哪一篇在什麼時候、用哪一個版本發布了——要記在另一本帳本上,也就是 Macaron 的正式資料庫。
編輯桌上的稿子,要經過檢查,才能被抄進帳本。今天做的,就是這道檢查。
首先,草稿只能放在一個指定的資料夾裡,而且只能是一般的文字檔。
一份草稿的最上面,有一小段固定的基本資料:這篇占卜的編號、現在在哪個階段、有哪些選項、用哪個時區,以及留言截止和內容有效的時間。
下面是題目。題目下面,是 A、B,或到 C、D 各一段。每一段裡分兩個部分:這一組抽到哪幾張牌,以及這一組的解讀。
測試用的那份假草稿,題目叫做「接下來三個月,我可以把注意力放在哪裡?」,裡面有 A、B 兩組。
多一個不認識的欄位、少一組選項、順序不對,或是出現格式以外的段落,都會被擋下。
在草稿裡,我可以改題目、改解讀的文字,讓它讀起來更像我想說的話。
但有些東西,不是草稿自己說了算的:抽到的是哪一張牌、正位還是逆位、選項的順序。
所以檢查的時候,Macaron 會拿著 Day 07 存好的抽牌紀錄,一組一組對:這一組當初抽到的是哪幾張牌、正位還是逆位。
就算有人把 A 組抽到的戀人,換成同一副牌裡的另一張牌,例如太陽,檢查也會發現:這一組當初抽到的不是太陽。
我可以把一張牌講得更好懂,但不能換掉那張牌本身。
每一份草稿都有內容指紋。但這個指紋,不會寫在草稿裡面。
如果讓檔案自己寫著自己的指紋,那有人改了內容、順手把指紋也改掉,就什麼都查不出來了。
所以指紋永遠是 Macaron 讀檔的時候,一個字一個字自己算出來的。連看不見的東西都算在內:檔案結尾多一個換行、行尾多一個空白、換行的方式不一樣,指紋都會不同。
已經發布、或已經揭曉結束的內容,只有指紋完全一樣,才會被當成「同一份」。只要不一樣,就拒絕覆蓋。
這一天也被抓出了一個問題,而且一直修到今天中午。
草稿通過檢查之後,會變成一份「可以匯入的候選資料」。原本的規則,是在建立這份候選資料的時候檢查一次。
但如果它在建立之後、真正被拿去用之前,裡面某一層的內容被動過手腳呢?
修正之後,這份候選資料在每一次要被拿出來用的時候,都會從外到內、一層一層重新檢查一次。「檢查過了」和「現在拿來用」之間,不能留下任何空隙。
最後這一步,產生的是一份「可以匯入」的候選資料。它會清楚標註:還沒有寫進帳本。
Macaron 現在還沒有連上正式的資料庫,也還沒有同步的功能。今天先把編輯桌和帳本之間的那道門定好。
另外有三件事,要留給我自己決定:一份草稿最大可以多大、標題最長可以幾個字、每個選項的解讀最長可以寫幾個字。測試裡有暫時的數字,但那不是正式的設定。
門定好了,但還有一個很現實的問題:這些草稿,將來是在雲端的主機上寫出來的,而我的 Obsidian 在我自己的電腦裡。
草稿要怎麼從那邊,安全地交到我手上?